const fs = require('fs');

class Base{
	//构造函数
	constructor(filePath){
		//数据库文件路径
		this.filePath=filePath;
	}
	//读取数据库文件
	readFile(){
		let result=fs.readFileSync(this.filePath, 'utf-8');
		if(result==''){
			return result;
		}
		return JSON.parse(result);
	}
	//修改数据库文件
	writeFile(data){
		fs.writeFileSync(this.filePath, JSON.stringify(data, null, "\t"));
	}
	//获取对象长度
	getObjectLen(obj){
		let arr = Object.keys(obj);
		return arr.length;
	}
	
	//判断变量是否存在
	isset(value) {
		if (value == undefined) {
			return false;
		}
		return true; //存在
	}
	//判断变量是否为空
	isEmpty(value) {
		if (value == null || value == "") {
			return true; //空
		}
		return false;
	}
	//判断对象是否为空
	isObjEmpty(obj) {
		if (JSON.stringify(obj) == "{}") {
			return true; //空
		}
		return false;
	}
	//生成uuid
	uuid() {
		var s = [];
		var hexDigits = "0123456789abcdef";
		for (var i = 0; i < 36; i++) {
			s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
		}
		s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
		s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
		s[8] = s[13] = s[18] = s[23] = "-";
	 
		var uuid = s.join("");
		return uuid;
	}








}
module.exports=Base;